package com.carbon.system.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.carbon.domain.common.ApiResult;
import com.carbon.system.entity.CarbonArticle;
import com.carbon.system.entity.MenuVO;
import com.carbon.system.entity.SysRole;
import com.carbon.common.service.BaseService;
import com.carbon.system.entity.SysRoleMenu;
import com.carbon.system.param.SysRoleMenuAddParam;
import com.carbon.system.param.SysRoleQueryParam;
import com.carbon.system.vo.SysAccountRoleVo;
import com.carbon.system.vo.SysRoleQueryVo;
import com.carbon.common.api.Paging;

import java.io.Serializable;
import java.util.List;

/**
 * <p>
 * 角色  服务类
 * </p>
 *
 * @author Li Jun
 * @since 2021-06-18
 */
public interface SysRoleService extends BaseService<SysRole> {

    IPage<SysRole> getRoleList(String page, Page<SysRole> param);

    List<MenuVO> getRolePermissions(Long roleId);

    Boolean saveRolePermissions(Long roleId, List<Long> permissionIds);

    boolean saveRole(SysRole role);

    void removeRoleMenu(Long id);
}
